table of contents
drbdsetup(8) | DRBD - кластер дисків | drbdsetup(8) |
ІМ'Я¶
drbdsetup - інструмент для встановлення DRBD
СИНТАКСИС¶
drbdsetup device disk lower_dev meta_data_dev meta_data_index [ -d size ] [ -e err_handler ]
drbdsetup device net local_addr [ :port ] remote_addr [ :port ] protocol [ -c time ] [ -i time ] [ -t val ] [ -S size ] [ -k count ] [ -d discon_handler ]
drbdsetup device syncer [ -k ] [ -g group ] [ -r rate ] [ -e extents ]
drbdsetup device disconnect
drbdsetup device detach
drbdsetup device down
drbdsetup device primary [ -h ] [ -t ] [ -d ]
drbdsetup device secondary
drbdsetup device on_primary [ -h ] [ -t ]
drbdsetup device invalidate
drbdsetup device invalidate_remote
drbdsetup device wait_connect [ -t wfc_timeout ] [ -d degr_wfc_timeout ]
drbdsetup device wait_sync [ -t wfc_timeout ] [ -d degr_wfc_timeout ]
drbdsetup device state
drbdsetup device cstate
drbdsetup device resize [ -d size ]
drbdsetup device show
ОПИС¶
drbdsetup використовується для встановлення асоціації між DRBD пристроєм та його низькорівневими блочним пристроєм, для встановлення пар DRBD пристроїв, щоб здійснювати дзеркальне відображення їх низькорівневих блочних пристроїв і для перевірки налаштування працюючого DRBD кластеру.
ПРИМІТКА¶
drbdsetup є низькорівневий інструмент до DRBD кластеру. Він використовується datadisk, drbdadm та drbd скриптом для зв'язку з драйвером пристрою.
КОМАНДИ¶
Кожна підкоманда drbdsetup потребує аргументів і має свою власну порцію опцій. Усі значення мають свою розмірність по замовчуванню, яку можна змінити суфіксами K, M or G. Їх розмірність визначається звичним шляхом (тобто: K = 2^10 = 1024)
DISK¶
Зв'язує пристрій з низькорівневим пристроєм для збереження на ньому блоків даних. Опція -d (чи --disk-size) повинна вживатись тільки тоді коли не бажаєте використовувати максимально можливий розмір зумовлений розміром низькорівневих дисків. Якщо не вживати -d пристрій буде готовий до використання одразу після під'єднання до свого партнера. (Дивіться команду NET.)
- -d, --disk-size size
-
Ця опція може змінити метод яким DRBD визначає розмір. Якщо ви бажаєте використовувати пристрій перед першим з'єднанням з партнером використайте цю опцію для вказання розміру DRBD пристрою. По замовчуванню в KB (1 KB = 1024 bytes). - -e, --on-io-error err_handler
-
Якщо низькорівневий пристрій повідомляє помилку до DRBD, DRBD може послати помилку до верхнього рівня операційної системи, створити паніку ядра, чи від'єднати пристрій і проводити всі наступні операції запису/зчитування використовуючи партнера. Допустимі значення err_handler: pass_on, panic і detach.
NET¶
Встановлює пристрій для прослуховування local_addr:port очікуючи з'єднання і для намагання встановити зв'язок з remote_addr:port. Якщо порт пропущений по замовчуванню використовується 7788.
Поверх TCP/IP з'єднання використовуються спеціальні протоколи. Допустимими протоколами є: А, В та С.
Протокол А: операція запису вважається завершеною, якщо дані досягли локального диску та локальної вихідної черги tcp.
Протокол В: операція запису вважається завершеною, якщо дані досягли локального диску та віддаленої вхідної черги.
Протокол С: операція запису вважається завершеною, якщо дані досягли локального та віддаленого диску.
- -c, --connect-int time
-
У випадку неможливості зв'язку з віддаленим DRBD пристроєм негайно, DRBD буде продовжувати спроби зв'язатись. З допомогою цього параметру можна вказати час між двома спробами. По замовчуванню значення є 10 секунд, крок 1 секунда. - -i, --ping-int time
-
Якщо зв'язок TCP/IP між парою пристроїв DRBD є вільним більш ніж time секунд, DRBD буде генерувати пакети keep-alive, для перевірки справної роботи партнера. По замовчуванню 10 секунд, крок 1 секунда. - -t, --timeout val
-
Якщо партнерський вузол не може відіслати пакет з відповіддю через time десятих секунди, партнерський вузол вважається не робочим і тому TCP/IP зв'язок до нього розривається. Це значення мусить бути меншим ніж connect-int та ping-int. По замовчуванню є 60 = 6 секунд, крок 0.1 секунди. - -S, --sndbuf-size size
-
Розмір вихідної черги для зберігання TCP пакетів перед відправкою на другорядний вузол, на котрий з мережевих причин не може передати. Можна вказати більше чи менше значення. Більше значення краще для збільшення пропускної здатності при використанні протоколу А через достатньо постійну мережу. Дуже великі значення ~1M можуть привести до проблем. Пам'ятайте чим більша асинхронність тим більше даних пропаде при втраті основного вузла. А значення менші 32K не доречні. По замовчуванню 128K. По замовчуванню крок K. - -k, --ko-count count
-
У випадку зупинки другорядного вузла і неспосібності завершити один запис після count спроб з інтервалами timeout, він відключається від кластеру. (основний вузол переходить у вироджений стан) По замовчуванню 0, що відключає цю властивість. - -e, --max-epoch-size val
-
З цією опцією максимальне число запитів запису між двома бар'єрами є обмежене. Краще встановити такою ж, як --max-buffers. Значення менші 100 істотно зменшують продуктивність. По замовчуванню 2048. - -b, --max-buffers val
-
Опція обмежує максимальне число сторінок черги для прийому запиті запису другорядним вузлом DRBD. Повинно бути встановлене такою ж, як --max-epoch-size. Малі значення можуть зменшити продуктивність. (Мінімальне 32). по замовчуванню 2048. - -d, --on-disconnect discon_handler
-
Коли зв'язок з партнером розривається, DRBD може перейти в вироджений режим з одним вузлом, намагатись відновити зв'язок чи припинити ввід/вивід. Допустимі значення stand_alone, reconnect та freeze_io. По замовчуванню відновити зв'язок reconnect.
SYNCER¶
Змінює синхронізаційні параметри сервісу пристрою під час роботи. Не міняє mentioned параметрів.
- -r, --rate rate
-
Для гарантування належної роботи програм поверху DRBD, є можливим обмежити розмір каналу, що використовується для синхронізації. По замовчуванню 250KB/sec, крок по замовчуванню 1KB/sec. - -k, --skip-sync
-
Опція відключає автоматичний старт синхронізаційного процесу, що відбувається одразу після з'єднання DRBD пристроїв. - -g, --sync-group group
-
Синхронізація всіх пристроїв в одній групі проводиться паралельно. Доступ групами здійснюється послідовно. Вам потрібно запобігати, щоб низькорівневі пристрої розміщені на одному фізичному носії синхронізуватись паралельно. По замовчуванню всі належать до групи 0 і синхронізуватимуться паралельно. - -e, --al-extents extents
-
DRBD здійснює автоматично визначення робочої області. Цим параметром контролюється скільки місця виділяється для роботи (=active set). Кожна одиниця відповідає 4M робочого диску (=низькорівневого пристрою). У випадку неочікуваної зупинки основного вузла розмір даних визначений опцією мусить бути розсинхронізований до часу зупинки вузла. Структура даних зберігається в області службових даних, тому кожна зміна робочої області приводить до операції запису на пристрій з службовими даними. Велике число extents дає довший період десинхронізації але менші поновлення до службових даних. По замовчуванню extents є 127. Мінімум 7, максимум 3843.
PRIMARY¶
Встановлення пристрою в основний стан, що означає можливість відкриття його програмами (чи файловими системами) для читання та запису. Дані, що пишуться на пристрій в основному стані дзеркально відображаються на пристрій в другорядному стані.
Не можливо встановити обидва пристрої з'єднаної DRBD пари в основний стан.
- -h, --human
-
Встановлює що стан змінений адміном і при перезавантажені кластеру має перевагу над рішеннями прийнятими іншими партнерами. - -t, --timeout-expired
-
Визначає, що стан змінився по причині того, що вузол був відсутній при старті кластеру (кластер запустивсь в виродженому стані). По відношенню до кластера це переважає рішення зроблене управлінням кластера. - -d, --do-what-I-say
-
Перехід в основний стан не відбувається коли є не завершена локальна реплікація. Використовуючи цю опцію вузол завжди переводиться в основний стан. ВИКОРИСТОВУЙТЕ ЇЇ ТІЛЬКИ КОЛИ ЗНАЄТЕ, ЩО РОБИТЕ.
SECONDARY¶
Встановлює пристрій в другорядний стан. Ця команда не виконається коли хоча б одна програма (чи файлова система) має відкритий доступ на запис на цей пристрій.
Однак можливо, що обидва пристрої з'єднані в DRBD пару є в другорядному стані.
ON_PRIMARY¶
Це встановлює додаткову опцію, що приводить до наступного переходу в основний стан. Опція дійсна тільки поки пристрій не зв'яжеться з своїм партнером. Можливі опції: --inc-human та --inc-timeout-expired.
Ця команда є для зручності. Ефект від неї той же, як би вказати цю опцію до команди primary напряму. Для детального опису двох опцій дивіться команду primary.
NVALIDATE¶
Насильно переводить локальний пристрій, пари пристроїв підключених до DRBD в стані їх партнерської синхронізації, що означає копіювання всіх блоків даних з партнера на локальний пристрій.
Ця команда не виконається, коли пристрої не є частиною пари з'єднаних пристроїв.
INVALIDATE_REMOTE¶
Насильно переводить локальний пристрій DRBD пристроїв в стан джерела їх синхронізації, що означає копіювання всіх блоків даних з локального пристрою до партнера.
WAIT_CONNECT¶
Продовжує тоді коли пристрій може зв'язуватись з своїм партнерським пристроєм.
- -t, --wfc-timeout wfc_timeout
- -d, --degr-wfc-timeout degr_wfc_timeout
-
Команда видасть помилку, коли пристрій не зможе зв'язатись з своїм партнером на протязі timeout секунд. Якщо партнер працював перед перевантаженням вузла, використовується wfc_timeout. Якщо партнер відключивсь перед перевантаженням вузла, використовується degr_wfc_time-out. По замовчуванню значення wfc_timeout рівне 0, що значить чекати вічно. Значення по замовчуванню для degr_wfc_timeout рівне 120 секунд.
WAIT_SYNC¶
Продовжує тоді коли пристрій виходить з будь-якого синхронізаційного стану, і повертається в стан зв'язку. Опції такі ж, як з командою wait_connect.
DISCONNECT¶
Видаляє інформацію встановлену командою NET з пристрою. Тобто переводить пристрій в від'єднаний стан, що означає не прослуховування більше мережі.
DETACH¶
Видаляє інформацію встановлену командою DISK з пристрою. Це приводить до від'єднання пристрою від низькорівневого пристрою.
DOWN¶
Видаляє всю конфіґураційну інформацію з пристрою і переводить його назад в не налаштований стан.
STATE¶
Показує поточний стан пристрою і його партнера (local/peer).
CSTATE¶
Показує поточний стан зв'язку пристрою.
RESIZE¶
Це приведе до перевірки розміру низькорівневих дисків. Щоб здійснити збільшення диску робочої системи потрібно розширити низькорівневі диски на обох пристроях та викликати команду resize на обох вузлах.
SHOW¶
Показує всю доступну конфіґураційну інформацію пристрою.
ПРИКЛАДИ¶
ВСТАНОВЛЕННЯ ПАРИ ПРИСТРОЇВ¶
В цьому прикладі комп'ютери, tc1 і tc2, сполучені прямим кабелем через інтерфейс 192.168.37.2 (tc1) і 192.168.37.3 (tc2). Включимо /dev/hda6 у віртуальний диск.
На tc1 виконуємо
$ drbdsetup /dev/drbd0 disk /dev/hda6
$ drbdsetup /dev/drbd0 net 192.168.37.2 192.168.37.3 B
$ drbdsetup /dev/drbd0 disk /dev/hda6
$ drbdsetup /dev/drbd0 net 192.168.37.3 192.168.37.2 B
$ drbdsetup /dev/drbd0 primary
$ cat /proc/drbd
version: 0.7.0 (api:xx/proto:yy)
0: cs:Connected st:Primary/Secondary ns:0 nr:0 dw:0 dr:0 of:0
1: cs:WFConnection st:Secondary/Unknown ns:0 nr:0 dw:0 dr:0 of:0
Тепер можна запускати програми поверху віртуального диску:
$ mkfs -b 4096 /dev/drbd0
$ mount /dev/drbd0 /mnt/mountpoint
ЗНІМОК ДИСКУ ЗАПИСАТИ НА ТРЕТЮ МАШИНУ¶
В цьому прикладі комп'ютер, tc1 і tc2, є з'єднані і tc2 є основним вузлом пристрою /dev/drbd0 Знімок цього пристрою потрібно записати на tc3, /dev/hda6.
Нам потрібно підготувати tc3:
$ drbdsetup /dev/drbd0 disk /dev/hda6
$ drbdsetup /dev/drbd0 net tc3 tc2 B
$ drbdsetup /dev/drbd0 disconnect
$ drbdsetup /dev/drbd0 net tc2 tc3 B --sync-rate 4M
$ drbdsetup /dev/drbd0 replicate
$ drbdsetup /dev/drbd0 wait_sync
$ drbdsetup /dev/drbd0 disconnect
$ drbdsetup /dev/drbd0 net tc2 tc1 B
$ drbdsetup /dev/drbd0 replicate
$ drbdsetup /dev/drbd0 down
$ fsck /dev/hda6
$ mount /dev/hda6 /some/mountpoint
ВЕРСІЯ¶
Цей документ коректний для версії 0.7.* пакету DRBD.
АВТОРИ¶
Написаний Пилипом Рейзнером (Philipp Reisner) <philipp.reisner@linbit.com>.
ПОВІДОМЛЕННЯ ПОМИЛОК¶
Повідомляйте про помилки на <drbd-user@lists.linbit.com>.
АВТОРСЬКІ ПРАВА¶
Copyright (c) 2001 Philipp Reisner. Це вільні програми; дивіться джерельні коди для встановлення прав копіювання. Нема ніяких гарантій; навіть для зручності використання в конкретному випадку.
ПОДІБНІ ТЕМИ¶
drbd - кластер дисків, drbdadm(8), drbd.conf(5), drbd(8), datadisk(8)
v 0.7.* переклад: альфа версія 2007-10-27-16:31 | © 2005-2007 DLOU, GNU FDL |